﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OEMS
{
    public class OptimaalPunt
    {
        private decimal koppel;
        private decimal toerental;
        private decimal rendement;

        public OptimaalPunt(Onderdeel onderdeel)
        {
            int indexMaximum = 0;
            decimal maximum = 0;
            Meting[] metingen = MetingDB.GetMetingenArray(onderdeel.GegevensId);

            for (int i=0; i<metingen.Length; i++)
            {
                if (metingen[i].Rendement > maximum)
                {
                    maximum = metingen[i].Rendement;
                    indexMaximum = i;
                }
                koppel = metingen[indexMaximum].Moment; // Moet nog herrekend worden
                toerental = metingen[indexMaximum].Toerental; // Moet nog herrekend worden
                rendement = metingen[indexMaximum].Rendement;
            }
        }

        public OptimaalPunt(Combinatie combinatie)
        {
            int indexMaximum = 0;
            decimal maximum = 0;
            Berekening[] berekeningen = combinatie.getBerekeningen();

            for (int i = 0; i < berekeningen.Length; i++)
            {
                if (berekeningen[i].Rendement > maximum)
                {
                    maximum = berekeningen[i].Rendement;
                    indexMaximum = i;
                }
                koppel = berekeningen[indexMaximum].Moment; // Moet nog herrekend worden
                toerental = berekeningen[indexMaximum].Toerental; // Moet nog herrekend worden
                rendement = berekeningen[indexMaximum].Rendement;
            }
        }

        public decimal Koppel
        {
            get
            {
                return koppel;
            }
        }

        public decimal Toerental
        {
            get
            {
                return toerental;
            }
        }

        public decimal Rendement
        {
            get
            {
                return rendement;
            }
        }
    }
}
